home *** CD-ROM | disk | FTP | other *** search
/ PC Format (PL) 2008 December / PC_Format_122008.iso / Multimedia / MediaPortal 0.2.3.0 / MediaPortal_0.2.3.0_Setup.exe / scripts / imdb / template.cs < prev    next >
Text File  |  2007-10-10  |  4KB  |  140 lines

  1. //css_reference "core.dll";
  2. //css_reference "Databases.dll";
  3. //css_reference "utils.dll";
  4.  
  5. using System;
  6. using System.Collections.Generic;
  7. using System.ComponentModel;
  8. using System.Data;
  9. using System.Drawing;
  10. using System.Text;
  11. using System.Windows.Forms;
  12. using System.IO;
  13. using System.Net;
  14. using System.Collections;
  15. using System.Web;
  16. using System.Text.RegularExpressions;
  17. using MediaPortal.Util;
  18.  
  19. // change to Grabber, this for avoid to load by mediaportal
  20. class Grabber_Template : MediaPortal.Video.Database.IIMDBScriptGrabber
  21. {
  22.   public Grabber()
  23.     {
  24.     }
  25.  
  26.   void MediaPortal.Video.Database.IIMDBScriptGrabber.FindFilm(string strSearch, int iLimit, ArrayList elements)
  27.   {
  28.       // code for search for movie titles  
  29.       // .............
  30.       //.............
  31.       // if movie found add to listing 
  32.       MediaPortal.Video.Database.IMDB.IMDBUrl url = new MediaPortal.Video.Database.IMDB.IMDBUrl(strURL, strTitle + " (imdb_com)", "imdb_com");
  33.       elements.Add(url);
  34.   }
  35.  
  36.  
  37.   bool MediaPortal.Video.Database.IIMDBScriptGrabber.GetDetails(MediaPortal.Video.Database.IMDB.IMDBUrl url, ref MediaPortal.Video.Database.IMDBMovie movieDetails)
  38.   {
  39.     // preces the web page defined by the url
  40.     // ................
  41.     // ................
  42.     // then fill the database
  43.     // movieDetails.Year
  44.     // movieDetails.Genre 
  45.     // movieDetails.Votes
  46.     // movieDetails.Top250
  47.     // movieDetails.TagLine
  48.     // movieDetails.PlotOutline
  49.     // movieDetails.ThumbURL
  50.     // movieDetails.Plot
  51.     // movieDetails.Cast
  52.     // movieDetails.RunTime = ....
  53.     // movieDetails.MPARating = ......
  54.  
  55.     // found some information 
  56.     return true;
  57.     // else
  58.     return false;
  59.   }
  60.  
  61.   string MediaPortal.Video.Database.IIMDBScriptGrabber.GetName()
  62.   {
  63.     return "IMDB grabber ";
  64.   }
  65.  
  66.   string MediaPortal.Video.Database.IIMDBScriptGrabber.GetLanguage()
  67.   {
  68.     return "EN";
  69.   }
  70.  
  71.   // a general procedure to get a web page 
  72.   // use like :
  73.   //    string absoluteUri;
  74.   //    string strURL = "http://us.imdb.com/Tsearch?title=" + strSearch;
  75.   //    string strBody = GetPage(strURL, "utf-8", out absoluteUri);
  76.  
  77.   private string GetPage(string strURL, string strEncode, out string absoluteUri)
  78.   {
  79.     string strBody = "";
  80.     absoluteUri = String.Empty;
  81.     Stream ReceiveStream = null;
  82.     StreamReader sr = null;
  83.     WebResponse result = null;
  84.     try
  85.     {
  86.       // Make the Webrequest
  87.       //Log.Info("IMDB: get page:{0}", strURL);
  88.       WebRequest req = WebRequest.Create(strURL);
  89.  
  90.       result = req.GetResponse();
  91.       ReceiveStream = result.GetResponseStream();
  92.  
  93.       // Encoding: depends on selected page
  94.       Encoding encode = System.Text.Encoding.GetEncoding(strEncode);
  95.       sr = new StreamReader(ReceiveStream, encode);
  96.       strBody = sr.ReadToEnd();
  97.  
  98.       absoluteUri = result.ResponseUri.AbsoluteUri;
  99.     }
  100.     catch (Exception)
  101.     {
  102.       //Log.Error("Error retreiving WebPage: {0} Encoding:{1} err:{2} stack:{3}", strURL, strEncode, ex.Message, ex.StackTrace);
  103.     }
  104.     finally
  105.     {
  106.       if (sr != null)
  107.       {
  108.         try
  109.         {
  110.           sr.Close();
  111.         }
  112.         catch (Exception)
  113.         {
  114.         }
  115.       }
  116.       if (ReceiveStream != null)
  117.       {
  118.         try
  119.         {
  120.           ReceiveStream.Close();
  121.         }
  122.         catch (Exception)
  123.         {
  124.         }
  125.       }
  126.       if (result != null)
  127.       {
  128.         try
  129.         {
  130.           result.Close();
  131.         }
  132.         catch (Exception)
  133.         {
  134.         }
  135.       }
  136.     }
  137.     return strBody;
  138.   } // END GetPage()
  139.  
  140. }